home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CD ROM Paradise Collection 4
/
CD ROM Paradise Collection 4 1995 Nov.iso
/
program
/
swagd_f.zip
/
EGAVGA.SWG
/
0009_FADE.PAS.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1993-05-28
|
2KB
|
86 lines
Program GoodFade;
Uses
Crt;
Const
I1II111 = 75;
IIIIII = 60;
Var
Count, Count2 : Byte;
Pal1, Pal2 : Array [0..255, 0..2] of Byte;
Procedure I1I1;
begin
For Count := 0 to 255 DO
begin
PORT [$03C7] := Count;
Pal1 [Count, 0] := PORT [$03C9];
Pal1 [Count, 1] := PORT [$03C9];
Pal1 [Count, 2] := PORT [$03C9];
end;
Pal2 := Pal1;
end;
Procedure IIIIIII;
begin
For Count := 0 to 255 DO
begin
PORT [$03C8] := Count;
PORT [$03C9] := Pal1 [Count, 0];
PORT [$03C9] := Pal1 [Count, 1];
PORT [$03C9] :=
Pal1 [Count, 2];
end;
end;
Procedure FadeOut;
begin
For Count := 1 to I1II111 DO
begin
For Count2 := 0 to 255 DO
begin
if Pal2 [Count2, 0] > 0 then
DEC (Pal2 [Count2, 0]);
if Pal2 [Count2, 1] > 0 then
DEC (Pal2 [Count2, 1]);
if Pal2 [Count2, 2] > 0 then
DEC (Pal2 [Count2, 2]);
PORT [$03C8] := Count2;
PORT [$03C9] := Pal2 [Count2, 0];
PORT [$03C9] := Pal2 [Count2, 1];
PORT [$03C9] := Pal2 [Count2, 2];
end;
Delay (IIIIII);
end;
end;
Procedure FadeIn;
begin
For Count := 1 to I1II111 DO
begin
For Count2 := 0 to 255 DO
begin
if Pal2 [Count2, 0] < Pal1 [Count2, 0] then
INC (Pal2 [Count2, 0]);
if Pal2 [Count2, 1] < Pal1 [Count2, 1] then
INC (Pal2 [Count2, 1]);
if Pal2 [Count2, 2] < Pal1 [Count2, 2] then
INC (Pal2 [Count2, 2]);
PORT [$03C8] := Count2;
PORT [$03C9] := Pal2 [Count2, 0];
PORT [$03C9] := Pal2 [Count2, 1];
PORT [$03C9] := Pal2 [Count2, 2];
end;
Delay (IIIIII);
end;
end;
begin
I1I1;
FadeOut;
FadeIn;
IIIIIII;
end.